function[bfu0,x_e,y_e,xearth,xmoon,yearth,ymoon,theta,r_LEO,r_LMO,G,B,map,p_0_x,p_0_y,v_0_x,v_0_y,x0,v_f]=make_hohmann()
[f_xnext,f_dxn_dx,f_dxn_du,n,m,N,alphac,epsilon,baru,T,deltat,mu_e,mu_m,mu,r_lagrange_1,r_lagrange,r_lagrange_3] = make_problem();
r_em = 3.844*10^8;%地球と月の距離

%地球と月の低軌道の半径(高度+天体の半径)
% r_LEO_real = 1.67*10^5 + 6.371*10^6;
r_LEO_real = 10*6.371*10^6 + 6.371*10^6;
% r_LMO_real = 1.0*10^5 + 1.737*10^6; original
r_LMO_real = 1.0*10^6 + 1.737*10^6;

%正規化後の低軌道の半径
r_LEO = r_LEO_real/r_em;
r_LMO = r_LMO_real/r_em;

%正規化後の天体の半径
r_e = 6.371*10^6/r_em;
r_m = 1.737*10^6/r_em;
omega = sqrt((mu_e+mu_m)/(r_em^3));
v_0 = sqrt(mu_e/r_LEO_real)/(r_em*omega);
v_f = sqrt(mu_m/r_LMO_real)/(r_em*omega);

%% hohmann軌道の生成
%初期状態の角度
% theta_st =205*pi/180; %225degくらいが実行しやすいです．
theta_st =45*pi/180;

%初期状態の位置
p_0_x = -mu+r_LEO*cos(theta_st);
p_0_y = r_LEO*sin(theta_st);

% ホーマン軌道に用いる半径の値
r_1 = r_LEO;% 地球周回軌道の半径
r_2 = 1-r_LMO;% 月低軌道の半径

deltav1_hoh = sqrt(2*(1-mu)*r_2/(r_1*(r_1+r_2)))-v_0;%ホーマン軌道の速度変化

%初期状態と目標状態の速度
v_0_x = -v_0*sin(theta_st);
v_0_y = v_0*cos(theta_st) ;

%図の設定のための諸々の設定
theta = linspace(0,2*pi);
    x_e = r_LEO*cos(theta);
    y_e = r_LEO*sin(theta);
    xearth = r_e*cos(theta);
    yearth = r_e*sin(theta);
    xmoon = r_m*cos(theta);
    ymoon = r_m*sin(theta);

%%
%ホーマン軌道を参考にした入力
U_impulse_st = deltav1_hoh/deltat;
% bfu0 = [-1*U_impulse_st*sin(theta_st);1*U_impulse_st*cos(theta_st);zeros(m*N-2,1)];%これを基本的には使用してください．
% bfu0 = [zeros(m*N,1)];%初期入力を0にします．最適化計算は制約に引っかかりやすいですが，意外と成功する場合があります．
% bfu0 = [600*cos(pi/6);600*sin(pi/6);zeros(m*N-2,1)];
bfu0 = [600*cos(-pi/4);600*sin(-pi/4);zeros(m*N-2,1)]; %<< v3 test

%初期状態の定義(4×1)
% x0 = [p_0_x;p_0_y;v_0_x;v_0_y];
x0 = [1-mu-r_lagrange_1;0;0;0]; %L1 to L2
% x0 = [-mu-(1-r_lagrange_3);0;0;0]; %L3 to L2

%遷移軌道の図の色設定
G = 0.4450;
B = 0.6330;
map = zeros(256,3);
for i = 0:255
map(i+1,1) =i/255;
map(i+1,2) = G;
map(i+1,3) = B;
end